home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / PIIGSIncludes / Lists.p < prev    next >
Encoding:
Text File  |  1990-04-05  |  4.1 KB  |  100 lines  |  [TEXT/MPS ]

  1. {********************************************
  2. ; File: Lists.p
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc. 1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************}
  9.  
  10. UNIT LISTS;
  11. INTERFACE
  12. USES TYPES,QUICKDRAW,EVENTS,CONTROLS;
  13. CONST
  14.  
  15. { ListType Masks }
  16. cString = $0001;  { null terminated string type }
  17. LIST_STRG = $0001;  { null terminated string type }
  18. selectOnlyOne = $0002;  { only one selection allowed }
  19. LIST_SELECT = $0002;  { single selection only }
  20.  
  21. { memFlag Codes }
  22. memDisabled = $40;  { Sets member flag to disabled }
  23. memSelected = $80;  { Sets member flag to selected }
  24. TYPE
  25. LColorTableHndl = ^LColorTablePtr;
  26. LColorTablePtr = ^LColorTable;
  27. LColorTable = RECORD
  28.     listFrameClr : Integer; { Frame color }
  29.     listNorTextClr : Integer; { Unhighlighted text color }
  30.     listSelTextClr : Integer; { Highlighted text color }
  31.     listNorBackClr : Integer; { Unhighlighted background color }
  32.     listSelBackClr : Integer; { Highlighted backgraound color }
  33. END;
  34. MemRecHndl = ^MemRecPtr;
  35. MemRecPtr = ^MemRec;
  36. MemRec = PACKED RECORD
  37.     memPtr : Ptr; { Pointer to string, or custom }
  38.     memFlag : Byte; { Bit Flag }
  39. END;
  40.  
  41. { The MemRec is followed by n bytes determined by value of listMemSize field }
  42. ListCtlRecHndl = ^ListCtlRecPtr;
  43. ListCtlRecPtr = ^ListCtlRec;
  44. ListCtlRec = PACKED RECORD
  45.     ctlNext : CtlRecHndl; { Handle of Next Control }
  46.     ctlOwner : WindowPtr; { Window owner }
  47.     ctlRect : Rect; { Enclosing Rect }
  48.     ctlFlag : Byte; { Bit 7 visible; Bit 0 string type; Bit 1 multiple }
  49.     ctlHilite : Byte; { (not used) }
  50.     ctlValue : Integer; { First member in display }
  51.     ctlProc : LongProcPtr; { Address of list definition procedure }
  52.     ctlAction : LongProcPtr; { Address of list action procedure }
  53.     ctlData : Longint; { Low = view size; High = total members }
  54.     ctlRefCon : Longint; { Not used }
  55.     ctlColor : Ptr; { Null for default colors }
  56.     ctlMemDraw : VoidProcPtr; { Address of routine to draw members }
  57.     ctlMemHeight : Integer; { Member's Height in Pixels }
  58.     ctlMemSize : Integer; { Bytes in member record }
  59.     ctlList : MemRecPtr; { Adress of first member record in array }
  60.     ctlListBar : CtlRecHndl; { Handle of list contrlo's scroll bar control }
  61. END;
  62. ListRecHndl = ^ListRecPtr;
  63. ListRecPtr = ^ListRec;
  64. ListRec = RECORD
  65.     listRect : Rect; { Enclosing Rectangle }
  66.     listSize : Integer; { Number of List Members }
  67.     listView : Integer; { Max Viewable members }
  68.     listType : Integer; { Bit Flag }
  69.     listStart : Integer; { First member in view }
  70.     listCtl : CtlRecHndl; { List control's handle }
  71.     listDraw : VoidProcPtr; { Address of Custom drawing routine }
  72.     listMemHeight : Integer; { Height of list members }
  73.     listMemSize : Integer; { Size of Member Records }
  74.     listPointer : MemRecPtr; { Pointer to first element in MemRec array }
  75.     listRefCon : Longint; { becomes Control's refCon }
  76.     listScrollClr : BarColorsPtr; { Color table for list's scroll bar }
  77. END;
  78. FUNCTION CreateList ( theWindowPtr:WindowPtr; newListRecPtr:ListRec) : ListCtlRecHndl ;
  79. PROCEDURE DrawMember ( memberPtr:MemRecPtr; aListRecPtr:ListRec)  ;
  80. PROCEDURE DrawMember2 ( itemNumber:Integer; ctlHandle:CtlRecHndl)  ;
  81. FUNCTION GetListDefProc  : LongProcPtr ;
  82. PROCEDURE ListBootInit   ;
  83. PROCEDURE ListReset   ;
  84. PROCEDURE ListShutDown   ;
  85. PROCEDURE ListStartup   ;
  86. FUNCTION ListStatus  : Boolean ;
  87. FUNCTION ListVersion  : Integer ;
  88. PROCEDURE NewList ( memberPtr:MemRecPtr; newListRecPtr:ListRec)  ;
  89. PROCEDURE NewList2 ( drawProcPtr:ProcPtr; listStart:Integer; listRef:Ref; listRefDesc:RefDescriptor; listSize:Integer; ctlHandle:CtlRecHndl)  ;
  90. FUNCTION  NextMember ( memberPtr:MemRecPtr; aListRecPtr:ListRec) : MemRecPtr ;
  91. FUNCTION NextMember2 ( itemNumber:Integer; ctlHandle:CtlRecHndl) : Integer ;
  92. FUNCTION ResetMember ( aListRecPtr:ListRec) : MemRecPtr ;
  93. FUNCTION ResetMember2 ( ctlHandle:CtlRecHndl) : Integer ;
  94. PROCEDURE SelectMember ( memberPtr:MemRecPtr; aListRecPtr:ListRec)  ;
  95. PROCEDURE SelectMember2 ( itemNumber:Integer; ctlHandle:CtlRecHndl)  ;
  96. PROCEDURE SortList ( comparePtr:VoidProcPtr; aListRecPtr:ListRec)  ;
  97. PROCEDURE SortList2 ( comparePtr:ProcPtr; ctlHandle:CtlRecHndl)  ;
  98. IMPLEMENTATION
  99. END.
  100.